Examen Final - Edgar Gerardo Alarcón González

Número de cuenta: 31210231-9

Ejercicio 1

Usando el data set llamado problem1.csv "(x_training, y_training)":

a) Enceuntra el polinomio que mejor ajusta los datos de entrenamiento.

b) Usando el criterio del AIC, encuentra el mejor polinomio que que puede ajustar los datos.

c) Realiza validación cruzada del polinomio con los datos llamados "problem1.csv (x_test, y_test)"

Solución

Comenzamos haciendo una lectura de los datos

Vamos ahora a guardar los datos de entrenamiento y de prueba

Ahora hacemos un gráfico de los datos.

Ajuste polinomial

Primero, vamos a proponer un ajuste polinomial de grado 8.

Veamos los coeficientes del modelo propuesto.

Notemos que los coeficientes del polinomio a partir del grado 5 parecen ser bastante pequeños.

Veamos el ajuste del polinomio y nuestros datos.

Ahora, ajustando este polinomio a los datos de prueba

Donde vemos que el ajuste es bueno pero sí presenta errores en los valores alejados de los datos de entrenamiento.

Selección de Modelo

Realizaremos un ajuste de modelo usando los datos de entrenamiento y con base en el AIC y en la suma de los cuadrados de los residuales (RSS). Esto lo haremos asumiendo un grado máximo de polinomio de 15 y mostrando un gráfico para seleccionar aquel modelo que tenga un menor AIC y menor RSS.

Donde podemos observar que el mínimo de los AIC se alcanza cuando el grado es 4 y justo ahí es donde el RSS parece estabilizarse. Algo que coincide con lo que mencionamos en el primer ajuste de modelo.

Donde ahora continuamos haciendo un ajuste de modelo con este grado

Veamos los coeficientes del modelo propuesto.

Notemos que los coeficientes del polinomio ya lucen todos diferentes de cero.

Veamos el ajuste del polinomio y nuestros datos.

Ahora, ajustando este polinomio a los datos de prueba

Donde vemos que el ajuste es muy superior que el visto anteriormente y además sí predice los valores alejados de los datos de entrenamiento. Finalmente, veamos la figura completa de los datos que tenemos y su ajuste.

Validación Cruzada

Vamos a evaluar la calificación de validación cruzada de nuestro modelo

Esto nos indica que el modelo es muy bueno. Finalmente comparémoslo contra otros grados del polinomio

Donde vemos que justo el grado elegido es adecuado.

Ejercicio 2

Tener la siguiente tabla lógica

|$x_1$|$x_2$|$x_1\&x_2$| |--|--|--| |0|0|1| |1|0|1| |0|1|1| |1|1|0| |$x_1$|$x_2$|$x_1\$x_2$| |--|--|--| |0|0|0| |1|0|0| |0|1|0| |1|1|1|

Usando Keras, construye un operador $\&$ y $\$$ con un perceptron simple. Si A=[1.001 0 0.001 1], B=[0 1 0 1] y C=[0 1 1 0]. Calcula la operación (A$\&$B)$\$$C

Solución

Operador &

Operador $

Componiendo los operadores

$A\& B$

$(A\& B)\$ C$

Ejercicio 3

De un ensayo clínico, tenemos 12 pacientes con infección por VIH. Después del tratamiento, la enfermedad progresó en 6 pacientes (1) y en 6 pacientes la infección no progresó (0). Cuatro medidas se toman en los 12 pacientes (edad, niveles de azúcar, niveles de células T y colesterol).

¿Qué medida se puede utilizar como marcador para describir la progresión de la enfermedad?

¿Cuáles serán los criterios a predecir la progresión? Los datos se pueden encontrar en"problema3.csv (x_age, x_sugar, x_Tcell, x_cholesterol, Salir)"?.

Ordene los datos y explique brevemente sus resultados. La variable "y" (objetivo) es un vector de 0 y 1 para representar la progresión.

Solución

Probando la variable 'age'

Definimos el modelo logístico

Separamos en covariable y respuesta pero de un subconjunto de datos

Mostramos los coeficientes del modelo

Graficando el Modelo

Matriz de Confusión

ROC

Esta variable no nos parece ayudar pues parece que predice prácticamente la certeza de un volado.

Probando la variable 'cholesterol'

Definimos el modelo logístico

Separamos en covariable y respuesta pero de un subconjunto de datos

Mostramos los coeficientes del modelo

Graficando el Modelo

Matriz de Confusión

ROC

Esta variable mejora con respecto a la anterior, pero aún su poder de predicción no parece bueno.

Probando la variable 'sugar'

Definimos el modelo logístico

Separamos en covariable y respuesta pero de un subconjunto de datos

Mostramos los coeficientes del modelo

Graficando el Modelo

Matriz de Confusión

ROC

Esta variable predice demasiado bien, de hecho ajusta perfectamente a los datos que nosotros tenemos.

Probando la variable 'Tcell'

Definimos el modelo logístico

Separamos en covariable y respuesta pero de un subconjunto de datos

Mostramos los coeficientes del modelo

Graficando el Modelo

Matriz de Confusión

ROC

Esta variable al igual que la anterior ajusta muy bien a los datos. Con base en estas dos podemos darnos una buena idea de propuesta de modelo.

Conclusión

Lo que podemos proponer para lograr predecir la variable respuesta es usar las variables $\texttt{sugar}$ y $\texttt{Tcell}$ con el criterio de tomar como 1 la variable respuesta $\texttt{y}$ si $\texttt{sugar}>=175$ o bien $\texttt{Tcell}<=325$. Esta es la información inmediata que puede proporcionarnos nuestros datos.

Ejercicio 4

Usando un perceptron multicapa con Keras, produ ce un cono de la 'dimensión' de tu elección. Nota: En otras palabras, usa la ecuación de un cono y luego genera datos artificiales para generar X, Y y Z. Luego, usa los datos X, Y y Z para entrenar una red neuronal, y crea la forma de un cono pero producida por la red neuronal. En tu reporte debes mencionar la ecuación del cono que seleccionaste, y la figura creada por la red neuronal.

Solución

Ecuación del cono que trabajaremos es

$$ z = \sqrt{x^2+y^2} $$

Referencias